(***************************************************
Ant Movie Catalog importation script
www.antp.be/software/moviecatalog/
[Infos]
Authors=ScorEpioN
Title=ErreursDeFilms.com
Description=Recherche d'erreurs dans des films
Site=http://www.erreursdefilms.com
Language=FR
Version=19 du 23/05/2005
Requires=3.5
Comments=Ce script nécessite le fichier ScorEpioNCommonScript.pas|.==.| : ' ( ( ( ( /\ | "==()))))): © ScorEpioN ©| ( ( ( ( \_/
License=This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. |
GetInfo=1
[Options]
Mise à jour=1|1|0=Oui|1=Non
Type de Lancement=0|0|0=Demande le titre avant de lancer le script|1=Ne demande pas le titre avant de lancer le script
Format du Titre=3|3|0=Titre en minuscule|1=Titre en majuscule|2=Première lettre du titre en majuscule|3=Première lettre de chaque mot du titre en majuscule
Titre en double=0|0|0=Garde les titres originaux et traduits même identiques|1=Garde les titres originaux si identiques|2=Garde les titres traduits si identiques
Recherche sur le titre=0|0|0=Traduit|1=Original
***************************************************)
program ErreurDeFilm_SEARCH;
uses
ScorEpioNCommonScript;
const
VersionScript = '19 du 23/05/2005';
NomScript = 'ERREURS DE FILMS';
urlDomain = 'erreursdefilms.com';
var
MovieName, NomFilm, Adresse, Parametre, Reponse : string;
premiereExecution : Integer;
//------------------------------------------------------------------------------
// ANALYSE DE LA PAGE DES FILMS
//------------------------------------------------------------------------------
procedure AnalyzePage(Address, Params: string);
var
Line, aucun_film,page_film,titre_film, la_page : string;
BeginPos, EndPos, compteur: Integer;
begin
//vide la liste des films
PickTreeClear;
//charge la page
Address := URLEncode(Address);
Params := URLEncode(Params);
Line := PostPage(Address,Params);
aucun_film := Line;
//teste si il y a des films trouvés
BeginPos := Pos('
Résultats sur les titres
|
', aucun_film);
if BeginPos <> 0 then
begin
Delete(aucun_film, 1, BeginPos);
BeginPos := Pos('Aucun résultat à votre recherche |
', aucun_film);
if BeginPos <> 0 then
begin
titre_film := MovieName;
titre_film := Trim(titre_film);
titre_film := AnsiLowerCase(titre_film);
titre_film := AnsiUpFirstLetter(titre_film);
showmessage('Aucune erreur trouvée pour : ' + titre_film);
exit;
end;
end;
//introduction résultats
titre_film := MovieName;
titre_film := AnsiUpFirstLetter(titre_film);
PickTreeAdd('Erreurs trouvées pour le film ' + titre_film + ' :', '');
//compte les résultats
compteur := 0;
BeginPos := Pos('Titre | ', Line);
Delete(Line, 1, BeginPos+14);
//cherche le lien de la page du film
BeginPos := Pos('', Line);
page_film := 'http://www.erreursdefilms.com/' + Copy(Line, 1, EndPos-2 );
page_film := URLEncode(page_film);
//cherche le nom du film
BeginPos := Pos('>',Line);
Delete(Line, 1, BeginPos);
EndPos := Pos(' | ',Line);
titre_film := Copy(Line, 1, EndPos-1 );
HTMLdecode(titre_film);
HTMLremovetags(titre_film);
titre_film := Trim(titre_film);
titre_film := AnsiLowerCase(titre_film);
titre_film := AnsiUpFirstLetter(titre_film);
if titre_film <> '' then
begin
//ajoute les films
PickTreeAdd(titre_film , page_film);
la_page := page_film;
compteur := compteur+1;
end;
//cherche le lien de la page du film
BeginPos := Pos('', Line);
if BeginPos <> 0 then
begin
repeat
Delete(Line, 1, BeginPos+26);
BeginPos := Pos('', Line);
Delete(Line, 1, BeginPos+2);
EndPos := Pos(' ', Line);
//type d'erreur
erreur := copy(Line,1,EndPos-1);
erreur := StringReplace(erreur , ' ', '');
HTMLremovetags(erreur);
erreur := StringReplace(erreur , #13#10, '');
//showmessage(erreur);
Delete(Line, 1, EndPos+7);
EndPos := Pos(' | ', Line);
//l'erreur en détail
detail_erreur := copy(Line,1,EndPos-1);
detail_erreur := StringReplace(detail_erreur , '
', ' ');
HTMLremovetags(detail_erreur);
detail_erreur := StringReplace(detail_erreur , #13#10, '');
detail_erreur := Trim(detail_erreur);
//showmessage(detail_erreur);
erreur := #13#10#13#10+erreur+#13#10+ detail_erreur;
erreur := Trim(erreur);
erreur := StringReplace(erreur , ' ', '');
erreur := StringReplace(erreur , ' ', '');
les_erreurs := les_erreurs + erreur;
BeginPos := Pos('', Line);
until BeginPos = 0;
end;
les_erreurs := les_erreurs + #13#10#13#10 + 'Informations provenant du site www.erreursdefilms.com';
//charge les résultats dans la fenêtre
SetField( fieldOriginalTitle,formatTitre(GetField(fieldOriginalTitle),GetOption('Format du Titre')));
SetField( fieldTranslatedTitle,formatTitre(GetField(fieldTranslatedTitle),GetOption('Format du Titre')));
if (GetField(fieldComments) <> '') then
begin
les_erreurs := GetField(fieldComments)+ #13#10#13#10 + les_erreurs;
SetField( fieldComments,les_erreurs);
end else
begin
SetField( fieldComments,les_erreurs);
end;
// Affichage des titres si original et traduit identique
titreDouble(GetOption('Titre en double'));
end;
//------------------------------------------------------------------------------
// PROGRAMME PRINCIPAL
//------------------------------------------------------------------------------
begin
if CheckVersion(3,5,0) then
begin
if GetOption('Mise à jour') = 0 then
begin
execMenuMAJ(VersionScript,NomScript);
exit;
end;
MovieName := recupTitreRecherche(GetOption('Recherche sur le titre'));
if (GetOption('Type de Lancement') = 0) then
begin
if Input(NomScript+' by ScorEpioN', 'Entrez le titre du film :', MovieName) then
begin
//remplace les caractères accentués
NomFilm := MovieName;
NomFilm := supprimeLesAccents(NomFilm);
Adresse := URLEncode('http://www.erreursdefilms.com/resrech.php');
Parametre := URLEncode('rechtxt='+NomFilm+'&typerech=tous');
AnalyzePage(Adresse, Parametre);
end;
end else
begin
NomFilm := MovieName;
NomFilm := supprimeLesAccents(NomFilm);
Adresse := URLEncode('http://www.erreursdefilms.com/resrech.php');
Parametre := URLEncode('rechtxt='+NomFilm+'&typerech=tous');
if (premiereExecution = 0) then
begin
premiereExecution := -1;
if (ShowConfirmation('Vous allez executer le script sans confirmation, cliquer sur ''''OUI'''' pour continuer') = True) then
begin
AnalyzePage(Adresse, Parametre);
end else
exit;
end else
begin
AnalyzePage(Adresse, Parametre);
end;
end;
end else
ShowMessage('Ce script requiert une version plus récente de Ant Movie Catalog (au moins la version 3.5.0)');
end.
|